package Demo05.Collections;
/*
* Comparable和Comparator的区别
*     Comparable：自己（this）和别人（参数）比较，自己需要实现Comparable接口，重写比较规则compare To 方法
*     Comparator：相当于找一个第三方裁判，比较两个
* */

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Demo03Sort {
    public static void main(String[] args) {
        ArrayList<Integer> list01 = new ArrayList<>();
        list01.add(1);
        list01.add(2);
        list01.add(3);
        list01.add(5);
        list01.add(4);
        System.out.println(list01);

        Collections.sort(list01, new Comparator<Integer>() {
            //重写比较规则
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
            }

        });
        System.out.println(list01);

        ArrayList<Student> list02 = new ArrayList<>();
        list02.add(new Student("迪丽热巴",18));
        list02.add(new Student("古力娜扎",20));
        list02.add(new Student("马儿扎哈",17));
        System.out.println(list02);

        Collections.sort(list02, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                return o1.getAge() - o2.getAge();
            }
        });

        System.out.println(list02);



    }
}
